#ifndef __DAO_GSL_OTHERS_H__
#define __DAO_GSL_OTHERS_H__
#include<stdlib.h>
#include<assert.h>
#include<string.h>
#include<dao.h>
#include<gsl/gsl_cdf.h>
#include<gsl/gsl_dht.h>
#include<gsl/gsl_histogram2d.h>
#include<gsl/gsl_histogram.h>
#include<gsl/gsl_interp.h>
#include<gsl/gsl_monte.h>
#include<gsl/gsl_ntuple.h>
#include<gsl/gsl_rng.h>
#include<gsl/gsl_siman.h>
#include<gsl/gsl_specfunc.h>
#include<gsl/gsl_spline.h>
#include<gsl/gsl_sum.h>
#include<gsl/gsl_sys.h>
#include<gsl/gsl_wavelet.h>
#include<gsl/gsl_odeiv.h>
#include<gsl/gsl_eigen.h>
#include<gsl/gsl_linalg.h>
#include<gsl/gsl_math.h>
#include<gsl/gsl_min.h>
#include<gsl/gsl_monte_plain.h>
#include<gsl/gsl_monte_vegas.h>
#include<gsl/gsl_multifit.h>
#include<gsl/gsl_multifit_nlin.h>
#include<gsl/gsl_multimin.h>
#include<gsl/gsl_multiroots.h>
#include<gsl/gsl_randist.h>
#include<gsl/gsl_roots.h>
#include<gsl/gsl_wavelet2d.h>
#include<gsl/gsl_chebyshev.h>
#include<gsl/gsl_deriv.h>
#include<gsl/gsl_diff.h>
#include<gsl/gsl_fit.h>
#include<gsl/gsl_integration.h>
#include<gsl/gsl_monte_miser.h>
#ifndef DAO_GSL_TYPES_STATIC
#define DAO_DLL_GSL_TYPES DAO_DLL_IMPORT
#include"dao_gsl_types.h"
#else
#define DAO_DLL_GSL_TYPES
#include"dao_gsl_types.h"
#endif
#ifndef DAO_GSL_PERMUTATION_STATIC
#define DAO_DLL_GSL_PERMUTATION DAO_DLL_IMPORT
#include"dao_gsl_permutation.h"
#else
#define DAO_DLL_GSL_PERMUTATION
#include"dao_gsl_permutation.h"
#endif
#ifndef DAO_GSL_OTHERS_STATIC
#ifndef DAO_DLL_GSL_OTHERS
#define DAO_DLL_GSL_OTHERS DAO_DLL_EXPORT
#endif
#else
#define DAO_DLL_GSL_OTHERS
#endif

extern DaoVmSpace *__daoVmSpace;

#ifdef __cplusplus
extern "C"{
#endif

extern DaoTypeBase *dao__gsl_matrix_char_const_view_Typer;
extern DaoTypeBase *dao__gsl_matrix_char_view_Typer;
extern DaoTypeBase *dao__gsl_matrix_complex_const_view_Typer;
extern DaoTypeBase *dao__gsl_matrix_complex_float_const_view_Typer;
extern DaoTypeBase *dao__gsl_matrix_complex_float_view_Typer;
extern DaoTypeBase *dao__gsl_matrix_complex_long_double_const_view_Typer;
extern DaoTypeBase *dao__gsl_matrix_complex_long_double_view_Typer;
extern DaoTypeBase *dao__gsl_matrix_complex_view_Typer;
extern DaoTypeBase *dao__gsl_matrix_const_view_Typer;
extern DaoTypeBase *dao__gsl_matrix_float_const_view_Typer;
extern DaoTypeBase *dao__gsl_matrix_float_view_Typer;
extern DaoTypeBase *dao__gsl_matrix_int_const_view_Typer;
extern DaoTypeBase *dao__gsl_matrix_int_view_Typer;
extern DaoTypeBase *dao__gsl_matrix_long_const_view_Typer;
extern DaoTypeBase *dao__gsl_matrix_long_double_const_view_Typer;
extern DaoTypeBase *dao__gsl_matrix_long_double_view_Typer;
extern DaoTypeBase *dao__gsl_matrix_long_view_Typer;
extern DaoTypeBase *dao__gsl_matrix_short_const_view_Typer;
extern DaoTypeBase *dao__gsl_matrix_short_view_Typer;
extern DaoTypeBase *dao__gsl_matrix_uchar_const_view_Typer;
extern DaoTypeBase *dao__gsl_matrix_uchar_view_Typer;
extern DaoTypeBase *dao__gsl_matrix_uint_const_view_Typer;
extern DaoTypeBase *dao__gsl_matrix_uint_view_Typer;
extern DaoTypeBase *dao__gsl_matrix_ulong_const_view_Typer;
extern DaoTypeBase *dao__gsl_matrix_ulong_view_Typer;
extern DaoTypeBase *dao__gsl_matrix_ushort_const_view_Typer;
extern DaoTypeBase *dao__gsl_matrix_ushort_view_Typer;
extern DaoTypeBase *dao__gsl_matrix_view_Typer;
extern DaoTypeBase *dao__gsl_vector_char_const_view_Typer;
extern DaoTypeBase *dao__gsl_vector_char_view_Typer;
extern DaoTypeBase *dao__gsl_vector_complex_const_view_Typer;
extern DaoTypeBase *dao__gsl_vector_complex_float_const_view_Typer;
extern DaoTypeBase *dao__gsl_vector_complex_float_view_Typer;
extern DaoTypeBase *dao__gsl_vector_complex_long_double_const_view_Typer;
extern DaoTypeBase *dao__gsl_vector_complex_long_double_view_Typer;
extern DaoTypeBase *dao__gsl_vector_complex_view_Typer;
extern DaoTypeBase *dao__gsl_vector_const_view_Typer;
extern DaoTypeBase *dao__gsl_vector_float_const_view_Typer;
extern DaoTypeBase *dao__gsl_vector_float_view_Typer;
extern DaoTypeBase *dao__gsl_vector_int_const_view_Typer;
extern DaoTypeBase *dao__gsl_vector_int_view_Typer;
extern DaoTypeBase *dao__gsl_vector_long_const_view_Typer;
extern DaoTypeBase *dao__gsl_vector_long_double_const_view_Typer;
extern DaoTypeBase *dao__gsl_vector_long_double_view_Typer;
extern DaoTypeBase *dao__gsl_vector_long_view_Typer;
extern DaoTypeBase *dao__gsl_vector_short_const_view_Typer;
extern DaoTypeBase *dao__gsl_vector_short_view_Typer;
extern DaoTypeBase *dao__gsl_vector_uchar_const_view_Typer;
extern DaoTypeBase *dao__gsl_vector_uchar_view_Typer;
extern DaoTypeBase *dao__gsl_vector_uint_const_view_Typer;
extern DaoTypeBase *dao__gsl_vector_uint_view_Typer;
extern DaoTypeBase *dao__gsl_vector_ulong_const_view_Typer;
extern DaoTypeBase *dao__gsl_vector_ulong_view_Typer;
extern DaoTypeBase *dao__gsl_vector_ushort_const_view_Typer;
extern DaoTypeBase *dao__gsl_vector_ushort_view_Typer;
extern DaoTypeBase *dao__gsl_vector_view_Typer;
extern DaoTypeBase *dao_gsl_block_Typer;
extern DaoTypeBase *dao_gsl_block_char_Typer;
extern DaoTypeBase *dao_gsl_block_complex_Typer;
extern DaoTypeBase *dao_gsl_block_complex_float_Typer;
extern DaoTypeBase *dao_gsl_block_complex_long_double_Typer;
extern DaoTypeBase *dao_gsl_block_float_Typer;
extern DaoTypeBase *dao_gsl_block_int_Typer;
extern DaoTypeBase *dao_gsl_block_long_Typer;
extern DaoTypeBase *dao_gsl_block_long_double_Typer;
extern DaoTypeBase *dao_gsl_block_short_Typer;
extern DaoTypeBase *dao_gsl_block_uchar_Typer;
extern DaoTypeBase *dao_gsl_block_uint_Typer;
extern DaoTypeBase *dao_gsl_block_ulong_Typer;
extern DaoTypeBase *dao_gsl_block_ushort_Typer;
extern DaoTypeBase *dao_gsl_cheb_series_Typer;
extern DaoTypeBase *dao_gsl_complex_Typer;
extern DaoTypeBase *dao_gsl_complex_float_Typer;
extern DaoTypeBase *dao_gsl_complex_long_double_Typer;
extern DaoTypeBase *dao_gsl_dht_Typer;
extern DaoTypeBase *dao_gsl_eigen_francis_workspace_Typer;
extern DaoTypeBase *dao_gsl_eigen_gen_workspace_Typer;
extern DaoTypeBase *dao_gsl_eigen_genherm_workspace_Typer;
extern DaoTypeBase *dao_gsl_eigen_genhermv_workspace_Typer;
extern DaoTypeBase *dao_gsl_eigen_gensymm_workspace_Typer;
extern DaoTypeBase *dao_gsl_eigen_gensymmv_workspace_Typer;
extern DaoTypeBase *dao_gsl_eigen_genv_workspace_Typer;
extern DaoTypeBase *dao_gsl_eigen_herm_workspace_Typer;
extern DaoTypeBase *dao_gsl_eigen_hermv_workspace_Typer;
extern DaoTypeBase *dao_gsl_eigen_nonsymm_workspace_Typer;
extern DaoTypeBase *dao_gsl_eigen_nonsymmv_workspace_Typer;
extern DaoTypeBase *dao_gsl_eigen_symm_workspace_Typer;
extern DaoTypeBase *dao_gsl_eigen_symmv_workspace_Typer;
extern DaoTypeBase *dao_gsl_error_handler_t_Typer;
extern DaoTypeBase *dao_gsl_function_Typer;
extern DaoTypeBase *dao_gsl_function_fdf_Typer;
extern DaoTypeBase *dao_gsl_function_vec_Typer;
extern DaoTypeBase *dao_gsl_histogram_Typer;
extern DaoTypeBase *dao_gsl_histogram2d_Typer;
extern DaoTypeBase *dao_gsl_histogram2d_pdf_Typer;
extern DaoTypeBase *dao_gsl_histogram_pdf_Typer;
extern DaoTypeBase *dao_gsl_ieee_double_rep_Typer;
extern DaoTypeBase *dao_gsl_ieee_float_rep_Typer;
extern DaoTypeBase *dao_gsl_integration_qawo_table_Typer;
extern DaoTypeBase *dao_gsl_integration_qaws_table_Typer;
extern DaoTypeBase *dao_gsl_integration_workspace_Typer;
extern DaoTypeBase *dao_gsl_interp_Typer;
extern DaoTypeBase *dao_gsl_interp_accel_Typer;
extern DaoTypeBase *dao_gsl_interp_type_Typer;
extern DaoTypeBase *dao_gsl_matrix_Typer;
extern DaoTypeBase *dao_gsl_matrix_char_Typer;
extern DaoTypeBase *dao_gsl_matrix_complex_Typer;
extern DaoTypeBase *dao_gsl_matrix_complex_float_Typer;
extern DaoTypeBase *dao_gsl_matrix_complex_long_double_Typer;
extern DaoTypeBase *dao_gsl_matrix_float_Typer;
extern DaoTypeBase *dao_gsl_matrix_int_Typer;
extern DaoTypeBase *dao_gsl_matrix_long_Typer;
extern DaoTypeBase *dao_gsl_matrix_long_double_Typer;
extern DaoTypeBase *dao_gsl_matrix_short_Typer;
extern DaoTypeBase *dao_gsl_matrix_uchar_Typer;
extern DaoTypeBase *dao_gsl_matrix_uint_Typer;
extern DaoTypeBase *dao_gsl_matrix_ulong_Typer;
extern DaoTypeBase *dao_gsl_matrix_ushort_Typer;
extern DaoTypeBase *dao_gsl_min_fminimizer_Typer;
extern DaoTypeBase *dao_gsl_min_fminimizer_type_Typer;
extern DaoTypeBase *dao_gsl_monte_function_Typer;
extern DaoTypeBase *dao_gsl_monte_miser_state_Typer;
extern DaoTypeBase *dao_gsl_monte_plain_state_Typer;
extern DaoTypeBase *dao_gsl_monte_vegas_state_Typer;
extern DaoTypeBase *dao_gsl_multifit_fdfsolver_Typer;
extern DaoTypeBase *dao_gsl_multifit_fdfsolver_type_Typer;
extern DaoTypeBase *dao_gsl_multifit_fsolver_Typer;
extern DaoTypeBase *dao_gsl_multifit_fsolver_type_Typer;
extern DaoTypeBase *dao_gsl_multifit_function_Typer;
extern DaoTypeBase *dao_gsl_multifit_function_fdf_Typer;
extern DaoTypeBase *dao_gsl_multifit_linear_workspace_Typer;
extern DaoTypeBase *dao_gsl_multimin_fdfminimizer_Typer;
extern DaoTypeBase *dao_gsl_multimin_fdfminimizer_type_Typer;
extern DaoTypeBase *dao_gsl_multimin_fminimizer_Typer;
extern DaoTypeBase *dao_gsl_multimin_fminimizer_type_Typer;
extern DaoTypeBase *dao_gsl_multimin_function_Typer;
extern DaoTypeBase *dao_gsl_multimin_function_fdf_Typer;
extern DaoTypeBase *dao_gsl_multiroot_fdfsolver_Typer;
extern DaoTypeBase *dao_gsl_multiroot_fdfsolver_type_Typer;
extern DaoTypeBase *dao_gsl_multiroot_fsolver_Typer;
extern DaoTypeBase *dao_gsl_multiroot_fsolver_type_Typer;
extern DaoTypeBase *dao_gsl_multiroot_function_Typer;
extern DaoTypeBase *dao_gsl_multiroot_function_fdf_Typer;
extern DaoTypeBase *dao_gsl_ntuple_Typer;
extern DaoTypeBase *dao_gsl_ntuple_select_fn_Typer;
extern DaoTypeBase *dao_gsl_ntuple_value_fn_Typer;
extern DaoTypeBase *dao_gsl_odeiv_control_Typer;
extern DaoTypeBase *dao_gsl_odeiv_control_type_Typer;
extern DaoTypeBase *dao_gsl_odeiv_evolve_Typer;
extern DaoTypeBase *dao_gsl_odeiv_step_Typer;
extern DaoTypeBase *dao_gsl_odeiv_step_type_Typer;
extern DaoTypeBase *dao_gsl_odeiv_system_Typer;
extern DaoTypeBase *dao_gsl_permutation_Typer;
extern DaoTypeBase *dao_gsl_ran_discrete_t_Typer;
extern DaoTypeBase *dao_gsl_rng_Typer;
extern DaoTypeBase *dao_gsl_rng_type_Typer;
extern DaoTypeBase *dao_gsl_root_fdfsolver_Typer;
extern DaoTypeBase *dao_gsl_root_fdfsolver_type_Typer;
extern DaoTypeBase *dao_gsl_root_fsolver_Typer;
extern DaoTypeBase *dao_gsl_root_fsolver_type_Typer;
extern DaoTypeBase *dao_gsl_siman_copy_construct_t_Typer;
extern DaoTypeBase *dao_gsl_siman_params_t_Typer;
extern DaoTypeBase *dao_gsl_spline_Typer;
extern DaoTypeBase *dao_gsl_stream_handler_t_Typer;
extern DaoTypeBase *dao_gsl_sum_levin_u_workspace_Typer;
extern DaoTypeBase *dao_gsl_sum_levin_utrunc_workspace_Typer;
extern DaoTypeBase *dao_gsl_vector_Typer;
extern DaoTypeBase *dao_gsl_vector_char_Typer;
extern DaoTypeBase *dao_gsl_vector_complex_Typer;
extern DaoTypeBase *dao_gsl_vector_complex_float_Typer;
extern DaoTypeBase *dao_gsl_vector_complex_long_double_Typer;
extern DaoTypeBase *dao_gsl_vector_float_Typer;
extern DaoTypeBase *dao_gsl_vector_int_Typer;
extern DaoTypeBase *dao_gsl_vector_long_Typer;
extern DaoTypeBase *dao_gsl_vector_long_double_Typer;
extern DaoTypeBase *dao_gsl_vector_short_Typer;
extern DaoTypeBase *dao_gsl_vector_uchar_Typer;
extern DaoTypeBase *dao_gsl_vector_uint_Typer;
extern DaoTypeBase *dao_gsl_vector_ulong_Typer;
extern DaoTypeBase *dao_gsl_vector_ushort_Typer;
extern DaoTypeBase *dao_gsl_wavelet_Typer;
extern DaoTypeBase *dao_gsl_wavelet_type_Typer;
extern DaoTypeBase *dao_gsl_wavelet_workspace_Typer;
extern DaoTypeBase *dao_gsl_complex_packed_Typer;
extern DaoTypeBase *dao_gsl_complex_packed_array_Typer;
extern DaoTypeBase *dao_gsl_complex_packed_array_float_Typer;
extern DaoTypeBase *dao_gsl_complex_packed_array_long_double_Typer;
extern DaoTypeBase *dao_gsl_complex_packed_float_Typer;
extern DaoTypeBase *dao_gsl_complex_packed_float_ptr_Typer;
extern DaoTypeBase *dao_gsl_complex_packed_long_double_Typer;
extern DaoTypeBase *dao_gsl_complex_packed_long_double_ptr_Typer;
extern DaoTypeBase *dao_gsl_complex_packed_ptr_Typer;
extern DaoTypeBase *dao_gsl_const_complex_packed_Typer;
extern DaoTypeBase *dao_gsl_const_complex_packed_array_Typer;
extern DaoTypeBase *dao_gsl_const_complex_packed_array_float_Typer;
extern DaoTypeBase *dao_gsl_const_complex_packed_array_long_double_Typer;
extern DaoTypeBase *dao_gsl_const_complex_packed_float_Typer;
extern DaoTypeBase *dao_gsl_const_complex_packed_float_ptr_Typer;
extern DaoTypeBase *dao_gsl_const_complex_packed_long_double_Typer;
extern DaoTypeBase *dao_gsl_const_complex_packed_long_double_ptr_Typer;
extern DaoTypeBase *dao_gsl_const_complex_packed_ptr_Typer;
extern DaoTypeBase *dao_gsl_siman_copy_construct_t_Typer;
#ifdef __cplusplus
}
#endif


gsl_cheb_series* DAO_DLL_GSL_OTHERS Dao_gsl_cheb_series_New();

gsl_dht* DAO_DLL_GSL_OTHERS Dao_gsl_dht_New();

gsl_eigen_francis_workspace* DAO_DLL_GSL_OTHERS Dao_gsl_eigen_francis_workspace_New();

gsl_eigen_gen_workspace* DAO_DLL_GSL_OTHERS Dao_gsl_eigen_gen_workspace_New();

gsl_eigen_genherm_workspace* DAO_DLL_GSL_OTHERS Dao_gsl_eigen_genherm_workspace_New();

gsl_eigen_genhermv_workspace* DAO_DLL_GSL_OTHERS Dao_gsl_eigen_genhermv_workspace_New();

gsl_eigen_gensymm_workspace* DAO_DLL_GSL_OTHERS Dao_gsl_eigen_gensymm_workspace_New();

gsl_eigen_gensymmv_workspace* DAO_DLL_GSL_OTHERS Dao_gsl_eigen_gensymmv_workspace_New();

gsl_eigen_genv_workspace* DAO_DLL_GSL_OTHERS Dao_gsl_eigen_genv_workspace_New();

gsl_eigen_herm_workspace* DAO_DLL_GSL_OTHERS Dao_gsl_eigen_herm_workspace_New();

gsl_eigen_hermv_workspace* DAO_DLL_GSL_OTHERS Dao_gsl_eigen_hermv_workspace_New();

gsl_eigen_nonsymm_workspace* DAO_DLL_GSL_OTHERS Dao_gsl_eigen_nonsymm_workspace_New();

gsl_eigen_nonsymmv_workspace* DAO_DLL_GSL_OTHERS Dao_gsl_eigen_nonsymmv_workspace_New();

gsl_eigen_symm_workspace* DAO_DLL_GSL_OTHERS Dao_gsl_eigen_symm_workspace_New();

gsl_eigen_symmv_workspace* DAO_DLL_GSL_OTHERS Dao_gsl_eigen_symmv_workspace_New();

typedef struct Dao_gsl_function Dao_gsl_function;
struct DAO_DLL_GSL_OTHERS Dao_gsl_function
{
	gsl_function  nested;
	gsl_function *object;
	DaoCData *cdata;
};
Dao_gsl_function* DAO_DLL_GSL_OTHERS Dao_gsl_function_New();
//Dao_gsl_function* DAO_DLL_GSL_OTHERS Dao_gsl_function_Wrap( gsl_function *p );
//Dao_gsl_function* DAO_DLL_GSL_OTHERS Dao_gsl_function_Copy( const gsl_function p );
static double Dao_gsl_function_function( double x, void* self0 );

typedef struct Dao_gsl_function_fdf Dao_gsl_function_fdf;
struct DAO_DLL_GSL_OTHERS Dao_gsl_function_fdf
{
	gsl_function_fdf  nested;
	gsl_function_fdf *object;
	DaoCData *cdata;
};
Dao_gsl_function_fdf* DAO_DLL_GSL_OTHERS Dao_gsl_function_fdf_New();
//Dao_gsl_function_fdf* DAO_DLL_GSL_OTHERS Dao_gsl_function_fdf_Wrap( gsl_function_fdf *p );
//Dao_gsl_function_fdf* DAO_DLL_GSL_OTHERS Dao_gsl_function_fdf_Copy( const gsl_function_fdf p );
static double Dao_gsl_function_fdf_df( double x, void* self0 );
static double Dao_gsl_function_fdf_f( double x, void* self0 );
static void Dao_gsl_function_fdf_fdf( double x, void* self0, double* f, double* df );

typedef struct Dao_gsl_function_vec Dao_gsl_function_vec;
struct DAO_DLL_GSL_OTHERS Dao_gsl_function_vec
{
	gsl_function_vec  nested;
	gsl_function_vec *object;
	DaoCData *cdata;
};
Dao_gsl_function_vec* DAO_DLL_GSL_OTHERS Dao_gsl_function_vec_New();
//Dao_gsl_function_vec* DAO_DLL_GSL_OTHERS Dao_gsl_function_vec_Wrap( gsl_function_vec *p );
//Dao_gsl_function_vec* DAO_DLL_GSL_OTHERS Dao_gsl_function_vec_Copy( const gsl_function_vec p );
static int Dao_gsl_function_vec_function( double x, double y[], void* self0 );

gsl_histogram* DAO_DLL_GSL_OTHERS Dao_gsl_histogram_New();

gsl_histogram2d* DAO_DLL_GSL_OTHERS Dao_gsl_histogram2d_New();

gsl_histogram2d_pdf* DAO_DLL_GSL_OTHERS Dao_gsl_histogram2d_pdf_New();

gsl_histogram_pdf* DAO_DLL_GSL_OTHERS Dao_gsl_histogram_pdf_New();

gsl_integration_qawo_table* DAO_DLL_GSL_OTHERS Dao_gsl_integration_qawo_table_New();

gsl_integration_qaws_table* DAO_DLL_GSL_OTHERS Dao_gsl_integration_qaws_table_New();

gsl_integration_workspace* DAO_DLL_GSL_OTHERS Dao_gsl_integration_workspace_New();

gsl_interp* DAO_DLL_GSL_OTHERS Dao_gsl_interp_New();

gsl_interp_accel* DAO_DLL_GSL_OTHERS Dao_gsl_interp_accel_New();

gsl_interp_type* DAO_DLL_GSL_OTHERS Dao_gsl_interp_type_New();

gsl_min_fminimizer* DAO_DLL_GSL_OTHERS Dao_gsl_min_fminimizer_New();

gsl_min_fminimizer_type* DAO_DLL_GSL_OTHERS Dao_gsl_min_fminimizer_type_New();

typedef struct Dao_gsl_monte_function Dao_gsl_monte_function;
struct DAO_DLL_GSL_OTHERS Dao_gsl_monte_function
{
	gsl_monte_function  nested;
	gsl_monte_function *object;
	DaoCData *cdata;
};
Dao_gsl_monte_function* DAO_DLL_GSL_OTHERS Dao_gsl_monte_function_New();
//Dao_gsl_monte_function* DAO_DLL_GSL_OTHERS Dao_gsl_monte_function_Wrap( gsl_monte_function *p );
//Dao_gsl_monte_function* DAO_DLL_GSL_OTHERS Dao_gsl_monte_function_Copy( const gsl_monte_function p );
static double Dao_gsl_monte_function_f( double x_array[], size_t dim, void* self0 );

gsl_monte_miser_state* DAO_DLL_GSL_OTHERS Dao_gsl_monte_miser_state_New();

gsl_monte_plain_state* DAO_DLL_GSL_OTHERS Dao_gsl_monte_plain_state_New();

gsl_monte_vegas_state* DAO_DLL_GSL_OTHERS Dao_gsl_monte_vegas_state_New();

gsl_multifit_fdfsolver* DAO_DLL_GSL_OTHERS Dao_gsl_multifit_fdfsolver_New();

gsl_multifit_fdfsolver_type* DAO_DLL_GSL_OTHERS Dao_gsl_multifit_fdfsolver_type_New();

gsl_multifit_fsolver* DAO_DLL_GSL_OTHERS Dao_gsl_multifit_fsolver_New();

gsl_multifit_fsolver_type* DAO_DLL_GSL_OTHERS Dao_gsl_multifit_fsolver_type_New();

typedef struct Dao_gsl_multifit_function Dao_gsl_multifit_function;
struct DAO_DLL_GSL_OTHERS Dao_gsl_multifit_function
{
	gsl_multifit_function  nested;
	gsl_multifit_function *object;
	DaoCData *cdata;
};
Dao_gsl_multifit_function* DAO_DLL_GSL_OTHERS Dao_gsl_multifit_function_New();
//Dao_gsl_multifit_function* DAO_DLL_GSL_OTHERS Dao_gsl_multifit_function_Wrap( gsl_multifit_function *p );
//Dao_gsl_multifit_function* DAO_DLL_GSL_OTHERS Dao_gsl_multifit_function_Copy( const gsl_multifit_function p );
static int Dao_gsl_multifit_function_f( const gsl_vector* x, void* self0, gsl_vector* f );

typedef struct Dao_gsl_multifit_function_fdf Dao_gsl_multifit_function_fdf;
struct DAO_DLL_GSL_OTHERS Dao_gsl_multifit_function_fdf
{
	gsl_multifit_function_fdf  nested;
	gsl_multifit_function_fdf *object;
	DaoCData *cdata;
};
Dao_gsl_multifit_function_fdf* DAO_DLL_GSL_OTHERS Dao_gsl_multifit_function_fdf_New();
//Dao_gsl_multifit_function_fdf* DAO_DLL_GSL_OTHERS Dao_gsl_multifit_function_fdf_Wrap( gsl_multifit_function_fdf *p );
//Dao_gsl_multifit_function_fdf* DAO_DLL_GSL_OTHERS Dao_gsl_multifit_function_fdf_Copy( const gsl_multifit_function_fdf p );
static int Dao_gsl_multifit_function_fdf_df( const gsl_vector* x, void* self0, gsl_matrix* df );
static int Dao_gsl_multifit_function_fdf_f( const gsl_vector* x, void* self0, gsl_vector* f );
static int Dao_gsl_multifit_function_fdf_fdf( const gsl_vector* x, void* self0, gsl_vector* f, gsl_matrix* df );

gsl_multifit_linear_workspace* DAO_DLL_GSL_OTHERS Dao_gsl_multifit_linear_workspace_New();

gsl_multimin_fdfminimizer* DAO_DLL_GSL_OTHERS Dao_gsl_multimin_fdfminimizer_New();

gsl_multimin_fdfminimizer_type* DAO_DLL_GSL_OTHERS Dao_gsl_multimin_fdfminimizer_type_New();

gsl_multimin_fminimizer* DAO_DLL_GSL_OTHERS Dao_gsl_multimin_fminimizer_New();

gsl_multimin_fminimizer_type* DAO_DLL_GSL_OTHERS Dao_gsl_multimin_fminimizer_type_New();

typedef struct Dao_gsl_multimin_function Dao_gsl_multimin_function;
struct DAO_DLL_GSL_OTHERS Dao_gsl_multimin_function
{
	gsl_multimin_function  nested;
	gsl_multimin_function *object;
	DaoCData *cdata;
};
Dao_gsl_multimin_function* DAO_DLL_GSL_OTHERS Dao_gsl_multimin_function_New();
//Dao_gsl_multimin_function* DAO_DLL_GSL_OTHERS Dao_gsl_multimin_function_Wrap( gsl_multimin_function *p );
//Dao_gsl_multimin_function* DAO_DLL_GSL_OTHERS Dao_gsl_multimin_function_Copy( const gsl_multimin_function p );
static double Dao_gsl_multimin_function_f( const gsl_vector* x, void* self0 );

typedef struct Dao_gsl_multimin_function_fdf Dao_gsl_multimin_function_fdf;
struct DAO_DLL_GSL_OTHERS Dao_gsl_multimin_function_fdf
{
	gsl_multimin_function_fdf  nested;
	gsl_multimin_function_fdf *object;
	DaoCData *cdata;
};
Dao_gsl_multimin_function_fdf* DAO_DLL_GSL_OTHERS Dao_gsl_multimin_function_fdf_New();
//Dao_gsl_multimin_function_fdf* DAO_DLL_GSL_OTHERS Dao_gsl_multimin_function_fdf_Wrap( gsl_multimin_function_fdf *p );
//Dao_gsl_multimin_function_fdf* DAO_DLL_GSL_OTHERS Dao_gsl_multimin_function_fdf_Copy( const gsl_multimin_function_fdf p );
static void Dao_gsl_multimin_function_fdf_df( const gsl_vector* x, void* self0, gsl_vector* df );
static double Dao_gsl_multimin_function_fdf_f( const gsl_vector* x, void* self0 );
static void Dao_gsl_multimin_function_fdf_fdf( const gsl_vector* x, void* self0, double* f, gsl_vector* df );

gsl_multiroot_fdfsolver* DAO_DLL_GSL_OTHERS Dao_gsl_multiroot_fdfsolver_New();

gsl_multiroot_fdfsolver_type* DAO_DLL_GSL_OTHERS Dao_gsl_multiroot_fdfsolver_type_New();

gsl_multiroot_fsolver* DAO_DLL_GSL_OTHERS Dao_gsl_multiroot_fsolver_New();

gsl_multiroot_fsolver_type* DAO_DLL_GSL_OTHERS Dao_gsl_multiroot_fsolver_type_New();

typedef struct Dao_gsl_multiroot_function Dao_gsl_multiroot_function;
struct DAO_DLL_GSL_OTHERS Dao_gsl_multiroot_function
{
	gsl_multiroot_function  nested;
	gsl_multiroot_function *object;
	DaoCData *cdata;
};
Dao_gsl_multiroot_function* DAO_DLL_GSL_OTHERS Dao_gsl_multiroot_function_New();
//Dao_gsl_multiroot_function* DAO_DLL_GSL_OTHERS Dao_gsl_multiroot_function_Wrap( gsl_multiroot_function *p );
//Dao_gsl_multiroot_function* DAO_DLL_GSL_OTHERS Dao_gsl_multiroot_function_Copy( const gsl_multiroot_function p );
static int Dao_gsl_multiroot_function_f( const gsl_vector* x, void* self0, gsl_vector* f );

typedef struct Dao_gsl_multiroot_function_fdf Dao_gsl_multiroot_function_fdf;
struct DAO_DLL_GSL_OTHERS Dao_gsl_multiroot_function_fdf
{
	gsl_multiroot_function_fdf  nested;
	gsl_multiroot_function_fdf *object;
	DaoCData *cdata;
};
Dao_gsl_multiroot_function_fdf* DAO_DLL_GSL_OTHERS Dao_gsl_multiroot_function_fdf_New();
//Dao_gsl_multiroot_function_fdf* DAO_DLL_GSL_OTHERS Dao_gsl_multiroot_function_fdf_Wrap( gsl_multiroot_function_fdf *p );
//Dao_gsl_multiroot_function_fdf* DAO_DLL_GSL_OTHERS Dao_gsl_multiroot_function_fdf_Copy( const gsl_multiroot_function_fdf p );
static int Dao_gsl_multiroot_function_fdf_df( const gsl_vector* x, void* self0, gsl_matrix* df );
static int Dao_gsl_multiroot_function_fdf_f( const gsl_vector* x, void* self0, gsl_vector* f );
static int Dao_gsl_multiroot_function_fdf_fdf( const gsl_vector* x, void* self0, gsl_vector* f, gsl_matrix* df );

gsl_ntuple* DAO_DLL_GSL_OTHERS Dao_gsl_ntuple_New();

typedef struct Dao_gsl_ntuple_select_fn Dao_gsl_ntuple_select_fn;
struct DAO_DLL_GSL_OTHERS Dao_gsl_ntuple_select_fn
{
	gsl_ntuple_select_fn  nested;
	gsl_ntuple_select_fn *object;
	DaoCData *cdata;
};
Dao_gsl_ntuple_select_fn* DAO_DLL_GSL_OTHERS Dao_gsl_ntuple_select_fn_New();
//Dao_gsl_ntuple_select_fn* DAO_DLL_GSL_OTHERS Dao_gsl_ntuple_select_fn_Wrap( gsl_ntuple_select_fn *p );
//Dao_gsl_ntuple_select_fn* DAO_DLL_GSL_OTHERS Dao_gsl_ntuple_select_fn_Copy( const gsl_ntuple_select_fn p );
static int Dao_gsl_ntuple_select_fn_function( void* ntuple_data, void* self0 );

typedef struct Dao_gsl_ntuple_value_fn Dao_gsl_ntuple_value_fn;
struct DAO_DLL_GSL_OTHERS Dao_gsl_ntuple_value_fn
{
	gsl_ntuple_value_fn  nested;
	gsl_ntuple_value_fn *object;
	DaoCData *cdata;
};
Dao_gsl_ntuple_value_fn* DAO_DLL_GSL_OTHERS Dao_gsl_ntuple_value_fn_New();
//Dao_gsl_ntuple_value_fn* DAO_DLL_GSL_OTHERS Dao_gsl_ntuple_value_fn_Wrap( gsl_ntuple_value_fn *p );
//Dao_gsl_ntuple_value_fn* DAO_DLL_GSL_OTHERS Dao_gsl_ntuple_value_fn_Copy( const gsl_ntuple_value_fn p );
static double Dao_gsl_ntuple_value_fn_function( void* ntuple_data, void* self0 );

gsl_odeiv_control* DAO_DLL_GSL_OTHERS Dao_gsl_odeiv_control_New();

gsl_odeiv_control_type* DAO_DLL_GSL_OTHERS Dao_gsl_odeiv_control_type_New();

gsl_odeiv_evolve* DAO_DLL_GSL_OTHERS Dao_gsl_odeiv_evolve_New();

gsl_odeiv_step* DAO_DLL_GSL_OTHERS Dao_gsl_odeiv_step_New();

gsl_odeiv_step_type* DAO_DLL_GSL_OTHERS Dao_gsl_odeiv_step_type_New();

typedef struct Dao_gsl_odeiv_system Dao_gsl_odeiv_system;
struct DAO_DLL_GSL_OTHERS Dao_gsl_odeiv_system
{
	gsl_odeiv_system  nested;
	gsl_odeiv_system *object;
	DaoCData *cdata;
};
Dao_gsl_odeiv_system* DAO_DLL_GSL_OTHERS Dao_gsl_odeiv_system_New();
//Dao_gsl_odeiv_system* DAO_DLL_GSL_OTHERS Dao_gsl_odeiv_system_Wrap( gsl_odeiv_system *p );
//Dao_gsl_odeiv_system* DAO_DLL_GSL_OTHERS Dao_gsl_odeiv_system_Copy( const gsl_odeiv_system p );
static int Dao_gsl_odeiv_system_function( double t, const double y[], double dydt[], void* self0 );
static int Dao_gsl_odeiv_system_jacobian( double t, const double y[], double dfdy[], double dfdt[], void* self0 );

gsl_ran_discrete_t* DAO_DLL_GSL_OTHERS Dao_gsl_ran_discrete_t_New();

gsl_rng* DAO_DLL_GSL_OTHERS Dao_gsl_rng_New();

gsl_rng_type* DAO_DLL_GSL_OTHERS Dao_gsl_rng_type_New();

gsl_root_fdfsolver* DAO_DLL_GSL_OTHERS Dao_gsl_root_fdfsolver_New();

gsl_root_fdfsolver_type* DAO_DLL_GSL_OTHERS Dao_gsl_root_fdfsolver_type_New();

gsl_root_fsolver* DAO_DLL_GSL_OTHERS Dao_gsl_root_fsolver_New();

gsl_root_fsolver_type* DAO_DLL_GSL_OTHERS Dao_gsl_root_fsolver_type_New();

gsl_siman_params_t* DAO_DLL_GSL_OTHERS Dao_gsl_siman_params_t_New();

gsl_spline* DAO_DLL_GSL_OTHERS Dao_gsl_spline_New();

gsl_sum_levin_u_workspace* DAO_DLL_GSL_OTHERS Dao_gsl_sum_levin_u_workspace_New();

gsl_sum_levin_utrunc_workspace* DAO_DLL_GSL_OTHERS Dao_gsl_sum_levin_utrunc_workspace_New();

gsl_wavelet* DAO_DLL_GSL_OTHERS Dao_gsl_wavelet_New();

gsl_wavelet_type* DAO_DLL_GSL_OTHERS Dao_gsl_wavelet_type_New();

gsl_wavelet_workspace* DAO_DLL_GSL_OTHERS Dao_gsl_wavelet_workspace_New();
#endif
